home *** CD-ROM | disk | FTP | other *** search
- unit Programs;
-
- interface
-
- uses Classes;
-
- procedure GetTaskModules(Strings: TStrings);
-
- procedure GetTaskExes(Strings: TStrings);
-
- procedure GetModules(Strings: TStrings);
-
- procedure GetModuleExes(Strings: TStrings);
-
- implementation
-
- uses ToolHelp, SysUtils;
-
- procedure GetTaskModules(Strings: TStrings);
- var
- TE: TTaskEntry;
- begin
- Strings.Clear;
- TE.dwSize := SizeOf(TE);
- if TaskFirst(@TE) then
- repeat
- Strings.Add(StrPas(TE.szModule));
- until not TaskNext(@TE);
- end;
-
- procedure GetTaskExes(Strings: TStrings);
- var
- TE: TTaskEntry;
- ME: TModuleEntry;
- begin
- Strings.Clear;
- TE.dwSize := SizeOf(TE);
- ME.dwSize := SizeOf(ME);
- if TaskFirst(@TE) then
- repeat
- ModuleFindHandle(@ME, TE.hModule);
- Strings.Add(StrPas(ME.szExePath));
- until not TaskNext(@TE);
- end;
-
- procedure GetModules(Strings: TStrings);
- var
- ME: TModuleEntry;
- begin
- Strings.Clear;
- ME.dwSize := SizeOf(ME);
- if ModuleFirst(@ME) then
- repeat
- Strings.Add(StrPas(ME.szModule));
- until not ModuleNext(@ME);
- end;
-
- procedure GetModuleExes(Strings: TStrings);
- var
- ME: TModuleEntry;
- begin
- Strings.Clear;
- ME.dwSize := SizeOf(ME);
- if ModuleFirst(@ME) then
- repeat
- Strings.Add(StrPas(ME.szExePath));
- until not ModuleNext(@ME);
- end;
-
- end.
-